/*
 *	MIDAS Context Based Routing
 *	cbr_ip.h
 *	Copyright (c) 2007 Bartlomiej Zolnierkiewicz
 *	MEAG IT PW
 */

#ifndef __CBR_IP_H
#define __CBR_IP_H

#include <linux/if_ether.h>

#include "cbr_acache.h"

// size of IP header (minimum size is 20 bytes)
#define IP_HDR_SIZE 20

int raw_ip_socket_create(const char *, ip_addr);

int raw_ip_send(int, ip_addr, ip_addr, void *);

int raw_ip_recv(int, void *, ip_addr *);

int eth_ip_send(int, int, mac_addr *, mac_addr *, ip_addr, ip_addr, void *);

int eth_ip_recv(int, void *, mac_addr *, ip_addr *, ip_addr);

bool checkRoute(ip_addr, ip_addr, ip_addr);

#endif
